import { onBeforeRouteUpdate } from 'vue-router'
import { getCategoryAPI } from '@/apis/category'
import { ref } from 'vue'
import { useRoute } from 'vue-router'

export const useCategory = () => {
  const route = useRoute()

  // 获取数据
  const categoryData = ref({})
  const getCategory = async (id = route.params.id) => {
    const res = await getCategoryAPI(id)
    categoryData.value = res.data.result
  }
  getCategory()

  // 目标：路由参数变化时，可以把分类数据接口重新发送
  onBeforeRouteUpdate((to) => {
    // 存在问题，需要使用最新的路由参数请求最新的分类数据
    // to 变化后的路由
    getCategory(to.params.id)
  })
  return {
    categoryData
  }
}